package com.sv.model;

import com.sv.generic.SqlMapSpace;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

@SqlMapSpace(name="company_info",Class = CompanyInfo.class)
public class CompanyInfoCriteria {
    protected String orderByClause;

    protected List<Criteria> oredCriteria;

    public CompanyInfoCriteria() {
        oredCriteria = new ArrayList<Criteria>();
    }

    protected CompanyInfoCriteria(CompanyInfoCriteria example) {
        this.orderByClause = example.orderByClause;
        this.oredCriteria = example.oredCriteria;
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
    }

    public static class Criteria {
        protected List<String> criteriaWithoutValue;

        protected List<Map<String, Object>> criteriaWithSingleValue;

        protected List<Map<String, Object>> criteriaWithListValue;

        protected List<Map<String, Object>> criteriaWithBetweenValue;

        protected Criteria() {
            super();
            criteriaWithoutValue = new ArrayList<String>();
            criteriaWithSingleValue = new ArrayList<Map<String, Object>>();
            criteriaWithListValue = new ArrayList<Map<String, Object>>();
            criteriaWithBetweenValue = new ArrayList<Map<String, Object>>();
        }

        public boolean isValid() {
            return criteriaWithoutValue.size() > 0
                || criteriaWithSingleValue.size() > 0
                || criteriaWithListValue.size() > 0
                || criteriaWithBetweenValue.size() > 0;
        }

        public List<String> getCriteriaWithoutValue() {
            return criteriaWithoutValue;
        }

        public List<Map<String, Object>> getCriteriaWithSingleValue() {
            return criteriaWithSingleValue;
        }

        public List<Map<String, Object>> getCriteriaWithListValue() {
            return criteriaWithListValue;
        }

        public List<Map<String, Object>> getCriteriaWithBetweenValue() {
            return criteriaWithBetweenValue;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteriaWithoutValue.add(condition);
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            Map<String, Object> map = new HashMap<String, Object>();
            map.put("condition", condition);
            map.put("value", value);
            criteriaWithSingleValue.add(map);
        }

        protected void addCriterion(String condition, List<? extends Object> values, String property) {
            if (values == null || values.size() == 0) {
                throw new RuntimeException("Value list for " + property + " cannot be null or empty");
            }
            Map<String, Object> map = new HashMap<String, Object>();
            map.put("condition", condition);
            map.put("values", values);
            criteriaWithListValue.add(map);
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            List<Object> list = new ArrayList<Object>();
            list.add(value1);
            list.add(value2);
            Map<String, Object> map = new HashMap<String, Object>();
            map.put("condition", condition);
            map.put("values", list);
            criteriaWithBetweenValue.add(map);
        }

        public Criteria andCompanyIdIsNull() {
            addCriterion("company_id is null");
            return this;
        }

        public Criteria andCompanyIdIsNotNull() {
            addCriterion("company_id is not null");
            return this;
        }

        public Criteria andCompanyIdEqualTo(Integer value) {
            addCriterion("company_id =", value, "companyId");
            return this;
        }

        public Criteria andCompanyIdNotEqualTo(Integer value) {
            addCriterion("company_id <>", value, "companyId");
            return this;
        }

        public Criteria andCompanyIdGreaterThan(Integer value) {
            addCriterion("company_id >", value, "companyId");
            return this;
        }

        public Criteria andCompanyIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("company_id >=", value, "companyId");
            return this;
        }

        public Criteria andCompanyIdLessThan(Integer value) {
            addCriterion("company_id <", value, "companyId");
            return this;
        }

        public Criteria andCompanyIdLessThanOrEqualTo(Integer value) {
            addCriterion("company_id <=", value, "companyId");
            return this;
        }

        public Criteria andCompanyIdIn(List<Integer> values) {
            addCriterion("company_id in", values, "companyId");
            return this;
        }

        public Criteria andCompanyIdNotIn(List<Integer> values) {
            addCriterion("company_id not in", values, "companyId");
            return this;
        }

        public Criteria andCompanyIdBetween(Integer value1, Integer value2) {
            addCriterion("company_id between", value1, value2, "companyId");
            return this;
        }

        public Criteria andCompanyIdNotBetween(Integer value1, Integer value2) {
            addCriterion("company_id not between", value1, value2, "companyId");
            return this;
        }

        public Criteria andUserIdIsNull() {
            addCriterion("user_id is null");
            return this;
        }

        public Criteria andUserIdIsNotNull() {
            addCriterion("user_id is not null");
            return this;
        }

        public Criteria andUserIdEqualTo(Integer value) {
            addCriterion("user_id =", value, "userId");
            return this;
        }

        public Criteria andUserIdNotEqualTo(Integer value) {
            addCriterion("user_id <>", value, "userId");
            return this;
        }

        public Criteria andUserIdGreaterThan(Integer value) {
            addCriterion("user_id >", value, "userId");
            return this;
        }

        public Criteria andUserIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("user_id >=", value, "userId");
            return this;
        }

        public Criteria andUserIdLessThan(Integer value) {
            addCriterion("user_id <", value, "userId");
            return this;
        }

        public Criteria andUserIdLessThanOrEqualTo(Integer value) {
            addCriterion("user_id <=", value, "userId");
            return this;
        }

        public Criteria andUserIdIn(List<Integer> values) {
            addCriterion("user_id in", values, "userId");
            return this;
        }

        public Criteria andUserIdNotIn(List<Integer> values) {
            addCriterion("user_id not in", values, "userId");
            return this;
        }

        public Criteria andUserIdBetween(Integer value1, Integer value2) {
            addCriterion("user_id between", value1, value2, "userId");
            return this;
        }

        public Criteria andUserIdNotBetween(Integer value1, Integer value2) {
            addCriterion("user_id not between", value1, value2, "userId");
            return this;
        }

        public Criteria andCompanyNameIsNull() {
            addCriterion("company_name is null");
            return this;
        }

        public Criteria andCompanyNameIsNotNull() {
            addCriterion("company_name is not null");
            return this;
        }

        public Criteria andCompanyNameEqualTo(String value) {
            addCriterion("company_name =", value, "companyName");
            return this;
        }

        public Criteria andCompanyNameNotEqualTo(String value) {
            addCriterion("company_name <>", value, "companyName");
            return this;
        }

        public Criteria andCompanyNameGreaterThan(String value) {
            addCriterion("company_name >", value, "companyName");
            return this;
        }

        public Criteria andCompanyNameGreaterThanOrEqualTo(String value) {
            addCriterion("company_name >=", value, "companyName");
            return this;
        }

        public Criteria andCompanyNameLessThan(String value) {
            addCriterion("company_name <", value, "companyName");
            return this;
        }

        public Criteria andCompanyNameLessThanOrEqualTo(String value) {
            addCriterion("company_name <=", value, "companyName");
            return this;
        }

        public Criteria andCompanyNameLike(String value) {
            addCriterion("company_name like", value, "companyName");
            return this;
        }

        public Criteria andCompanyNameNotLike(String value) {
            addCriterion("company_name not like", value, "companyName");
            return this;
        }

        public Criteria andCompanyNameIn(List<String> values) {
            addCriterion("company_name in", values, "companyName");
            return this;
        }

        public Criteria andCompanyNameNotIn(List<String> values) {
            addCriterion("company_name not in", values, "companyName");
            return this;
        }

        public Criteria andCompanyNameBetween(String value1, String value2) {
            addCriterion("company_name between", value1, value2, "companyName");
            return this;
        }

        public Criteria andCompanyNameNotBetween(String value1, String value2) {
            addCriterion("company_name not between", value1, value2, "companyName");
            return this;
        }

        public Criteria andCompanyAddressIsNull() {
            addCriterion("company_address is null");
            return this;
        }

        public Criteria andCompanyAddressIsNotNull() {
            addCriterion("company_address is not null");
            return this;
        }

        public Criteria andCompanyAddressEqualTo(String value) {
            addCriterion("company_address =", value, "companyAddress");
            return this;
        }

        public Criteria andCompanyAddressNotEqualTo(String value) {
            addCriterion("company_address <>", value, "companyAddress");
            return this;
        }

        public Criteria andCompanyAddressGreaterThan(String value) {
            addCriterion("company_address >", value, "companyAddress");
            return this;
        }

        public Criteria andCompanyAddressGreaterThanOrEqualTo(String value) {
            addCriterion("company_address >=", value, "companyAddress");
            return this;
        }

        public Criteria andCompanyAddressLessThan(String value) {
            addCriterion("company_address <", value, "companyAddress");
            return this;
        }

        public Criteria andCompanyAddressLessThanOrEqualTo(String value) {
            addCriterion("company_address <=", value, "companyAddress");
            return this;
        }

        public Criteria andCompanyAddressLike(String value) {
            addCriterion("company_address like", value, "companyAddress");
            return this;
        }

        public Criteria andCompanyAddressNotLike(String value) {
            addCriterion("company_address not like", value, "companyAddress");
            return this;
        }

        public Criteria andCompanyAddressIn(List<String> values) {
            addCriterion("company_address in", values, "companyAddress");
            return this;
        }

        public Criteria andCompanyAddressNotIn(List<String> values) {
            addCriterion("company_address not in", values, "companyAddress");
            return this;
        }

        public Criteria andCompanyAddressBetween(String value1, String value2) {
            addCriterion("company_address between", value1, value2, "companyAddress");
            return this;
        }

        public Criteria andCompanyAddressNotBetween(String value1, String value2) {
            addCriterion("company_address not between", value1, value2, "companyAddress");
            return this;
        }

        public Criteria andCompanyPhoneIsNull() {
            addCriterion("company_phone is null");
            return this;
        }

        public Criteria andCompanyPhoneIsNotNull() {
            addCriterion("company_phone is not null");
            return this;
        }

        public Criteria andCompanyPhoneEqualTo(String value) {
            addCriterion("company_phone =", value, "companyPhone");
            return this;
        }

        public Criteria andCompanyPhoneNotEqualTo(String value) {
            addCriterion("company_phone <>", value, "companyPhone");
            return this;
        }

        public Criteria andCompanyPhoneGreaterThan(String value) {
            addCriterion("company_phone >", value, "companyPhone");
            return this;
        }

        public Criteria andCompanyPhoneGreaterThanOrEqualTo(String value) {
            addCriterion("company_phone >=", value, "companyPhone");
            return this;
        }

        public Criteria andCompanyPhoneLessThan(String value) {
            addCriterion("company_phone <", value, "companyPhone");
            return this;
        }

        public Criteria andCompanyPhoneLessThanOrEqualTo(String value) {
            addCriterion("company_phone <=", value, "companyPhone");
            return this;
        }

        public Criteria andCompanyPhoneLike(String value) {
            addCriterion("company_phone like", value, "companyPhone");
            return this;
        }

        public Criteria andCompanyPhoneNotLike(String value) {
            addCriterion("company_phone not like", value, "companyPhone");
            return this;
        }

        public Criteria andCompanyPhoneIn(List<String> values) {
            addCriterion("company_phone in", values, "companyPhone");
            return this;
        }

        public Criteria andCompanyPhoneNotIn(List<String> values) {
            addCriterion("company_phone not in", values, "companyPhone");
            return this;
        }

        public Criteria andCompanyPhoneBetween(String value1, String value2) {
            addCriterion("company_phone between", value1, value2, "companyPhone");
            return this;
        }

        public Criteria andCompanyPhoneNotBetween(String value1, String value2) {
            addCriterion("company_phone not between", value1, value2, "companyPhone");
            return this;
        }

        public Criteria andCompanyCountryIsNull() {
            addCriterion("company_country is null");
            return this;
        }

        public Criteria andCompanyCountryIsNotNull() {
            addCriterion("company_country is not null");
            return this;
        }

        public Criteria andCompanyCountryEqualTo(String value) {
            addCriterion("company_country =", value, "companyCountry");
            return this;
        }

        public Criteria andCompanyCountryNotEqualTo(String value) {
            addCriterion("company_country <>", value, "companyCountry");
            return this;
        }

        public Criteria andCompanyCountryGreaterThan(String value) {
            addCriterion("company_country >", value, "companyCountry");
            return this;
        }

        public Criteria andCompanyCountryGreaterThanOrEqualTo(String value) {
            addCriterion("company_country >=", value, "companyCountry");
            return this;
        }

        public Criteria andCompanyCountryLessThan(String value) {
            addCriterion("company_country <", value, "companyCountry");
            return this;
        }

        public Criteria andCompanyCountryLessThanOrEqualTo(String value) {
            addCriterion("company_country <=", value, "companyCountry");
            return this;
        }

        public Criteria andCompanyCountryLike(String value) {
            addCriterion("company_country like", value, "companyCountry");
            return this;
        }

        public Criteria andCompanyCountryNotLike(String value) {
            addCriterion("company_country not like", value, "companyCountry");
            return this;
        }

        public Criteria andCompanyCountryIn(List<String> values) {
            addCriterion("company_country in", values, "companyCountry");
            return this;
        }

        public Criteria andCompanyCountryNotIn(List<String> values) {
            addCriterion("company_country not in", values, "companyCountry");
            return this;
        }

        public Criteria andCompanyCountryBetween(String value1, String value2) {
            addCriterion("company_country between", value1, value2, "companyCountry");
            return this;
        }

        public Criteria andCompanyCountryNotBetween(String value1, String value2) {
            addCriterion("company_country not between", value1, value2, "companyCountry");
            return this;
        }

        public Criteria andCompanyProvinceIsNull() {
            addCriterion("company_province is null");
            return this;
        }

        public Criteria andCompanyProvinceIsNotNull() {
            addCriterion("company_province is not null");
            return this;
        }

        public Criteria andCompanyProvinceEqualTo(String value) {
            addCriterion("company_province =", value, "companyProvince");
            return this;
        }

        public Criteria andCompanyProvinceNotEqualTo(String value) {
            addCriterion("company_province <>", value, "companyProvince");
            return this;
        }

        public Criteria andCompanyProvinceGreaterThan(String value) {
            addCriterion("company_province >", value, "companyProvince");
            return this;
        }

        public Criteria andCompanyProvinceGreaterThanOrEqualTo(String value) {
            addCriterion("company_province >=", value, "companyProvince");
            return this;
        }

        public Criteria andCompanyProvinceLessThan(String value) {
            addCriterion("company_province <", value, "companyProvince");
            return this;
        }

        public Criteria andCompanyProvinceLessThanOrEqualTo(String value) {
            addCriterion("company_province <=", value, "companyProvince");
            return this;
        }

        public Criteria andCompanyProvinceLike(String value) {
            addCriterion("company_province like", value, "companyProvince");
            return this;
        }

        public Criteria andCompanyProvinceNotLike(String value) {
            addCriterion("company_province not like", value, "companyProvince");
            return this;
        }

        public Criteria andCompanyProvinceIn(List<String> values) {
            addCriterion("company_province in", values, "companyProvince");
            return this;
        }

        public Criteria andCompanyProvinceNotIn(List<String> values) {
            addCriterion("company_province not in", values, "companyProvince");
            return this;
        }

        public Criteria andCompanyProvinceBetween(String value1, String value2) {
            addCriterion("company_province between", value1, value2, "companyProvince");
            return this;
        }

        public Criteria andCompanyProvinceNotBetween(String value1, String value2) {
            addCriterion("company_province not between", value1, value2, "companyProvince");
            return this;
        }

        public Criteria andCompanyPhotoIdIsNull() {
            addCriterion("company_photo_id is null");
            return this;
        }

        public Criteria andCompanyPhotoIdIsNotNull() {
            addCriterion("company_photo_id is not null");
            return this;
        }

        public Criteria andCompanyPhotoIdEqualTo(Integer value) {
            addCriterion("company_photo_id =", value, "companyPhotoId");
            return this;
        }

        public Criteria andCompanyPhotoIdNotEqualTo(Integer value) {
            addCriterion("company_photo_id <>", value, "companyPhotoId");
            return this;
        }

        public Criteria andCompanyPhotoIdGreaterThan(Integer value) {
            addCriterion("company_photo_id >", value, "companyPhotoId");
            return this;
        }

        public Criteria andCompanyPhotoIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("company_photo_id >=", value, "companyPhotoId");
            return this;
        }

        public Criteria andCompanyPhotoIdLessThan(Integer value) {
            addCriterion("company_photo_id <", value, "companyPhotoId");
            return this;
        }

        public Criteria andCompanyPhotoIdLessThanOrEqualTo(Integer value) {
            addCriterion("company_photo_id <=", value, "companyPhotoId");
            return this;
        }

        public Criteria andCompanyPhotoIdIn(List<Integer> values) {
            addCriterion("company_photo_id in", values, "companyPhotoId");
            return this;
        }

        public Criteria andCompanyPhotoIdNotIn(List<Integer> values) {
            addCriterion("company_photo_id not in", values, "companyPhotoId");
            return this;
        }

        public Criteria andCompanyPhotoIdBetween(Integer value1, Integer value2) {
            addCriterion("company_photo_id between", value1, value2, "companyPhotoId");
            return this;
        }

        public Criteria andCompanyPhotoIdNotBetween(Integer value1, Integer value2) {
            addCriterion("company_photo_id not between", value1, value2, "companyPhotoId");
            return this;
        }
    }
}